﻿package main   //声明包  包名
import "fmt"   // 导入包  fmt 导入没有用到的包会报错

// 声明变量
var v1 int 
var v2 string
var v3 [10]int //数组长度10 类型 int
var v4 []int//数组切片
var v5 struct{   //struct  结构
	f int
}
var v6 *int//指针
var v7 map[string]int// map  kep->string value->int
var v8 func(a int)int

//声明多个变量
var(
	v9 int
	v10 string
)


//初始化变量
var v11 int=10  
var v12=10 //编译器自动推到出v12的类型
/* v13 :=10 变量的声明在函数的内或外 都可以使用（错误）
同过 var 声明的变量 适用，:= 这种不适用，只能在函数内
func main(){
	v13 :=123  
	fmt.Println(v13);
}
*/

//variable 赋值
/*
var v14 int //声明
//v14=123  //赋值  只能在函数内部
func main(){
	v14=123  
	fmt.Println(v14);
}
*/

//多功能赋值
/*
func main(){
	i :=11
	j :=12
	i,j=j,i
	fmt.Println(i)
	fmt.Println(j)
}
*/
//匿名函数

func GetName()(fristName,lastName,nickName string){  // 注意  类型  string
	return "fName","lName","nName"
}

func main(){
	_,_,n_Name :=GetName()
	fmt.Println(n_Name)
}